package example;

//super
//class Animal
//{
//    Animal()
//    {
//        System.out.println("一只动物被构造");
//    }
//    public void speak()
//    {
//        System.out.println("Animal is speaking!");
//    }
//    String nickName;
//    String name;
//}
//class Dog extends Animal
//{
//    Dog()
//    {
//        super();
//        super.nickName = "Kelly";
//        super.speak();
//        System.out.println("一只狗被构造");
//    }
//    public void speak()
//    {
//        System.out.println("wang Wang!");
//    }
//    String name;
//}
//public class Test {
//    public static void main(String[] args) {
//        Dog g = new Dog();
//        g.speak();
//    }
//}

// 运行时的多态
//class Animal
//{
//    public void speak()
//    {
//        System.out.println("Animal is speaking!");
//    }
//}
//class Dog extends Animal
//{
//    public void speak()
//    {
//        System.out.println("wang Wang!");
//    }
//}
//class Cat extends Animal
//{
//    public void speak()
//    {
//        System.out.println("Meow Meow!");
//    }
//}
//public  class Test
//{
//    public static void DoSpeak(Animal an)
//    {
//        an.speak();
//    }
//    public static void main(String[] args) {
//        Animal an1 = new Dog();
//        Animal an2 = new Cat();
//        Animal an3 = new Animal();
//        DoSpeak(an1);
//        DoSpeak(an2);
//        DoSpeak(an3);
//    }
//}

// 静态内部类的继承与多态
//public class Test
//{
//    static class Animal
//    {
//        protected String name;
//        Animal(String name)
//        {
//            this.name = name;
//        }
//        public void sleep()
//        {}
//        public void speak()
//        {}
//    }
//    static class Dog extends Animal
//    {
//        Dog(String name)
//        {
//            super(name);
//        }
//        public void sleep()
//        {
//            System.out.println("狗的睡觉方式");
//        }
//        public void speak()
//        {
//            System.out.println("狗的吼叫方式");
//        }
//    }
//    static class Cat extends Animal
//    {
//        Cat(String name)
//        {
//            super(name);
//        }
//        public void sleep()
//        {
//            System.out.println("猫的睡觉方式");
//        }
//        public void speak()
//        {
//            System.out.println("猫的吼叫方式");
//        }
//    }
//    public static void main(String[] args)
//    {
//        Animal an1 = new Dog("旺财");
//        an1.sleep();
//        an1.speak();
//        Animal an2 = new Cat("汤姆");
//        an2.sleep();
//        an2.speak();
//    }
//}

class Circle {
    double radius;
    Circle( double r)
    {
        radius = r;
    }
    public double  findArea()
    {
        return Math.PI*radius*radius;
    }
    public double  getRadius ()
    {
        return radius;
    }
}
class Cylinder extends Circle{
    double length;
    Cylinder(double r, double l )
    {
        super(r);
        length = l;
    }
    public double  findVolume()
    {
        return length*super.findArea();
    }
    public String toString()
    {
        return "半径:"+super.getRadius()+"高:"+length+"体积:"+findVolume();
    }
}

public class Test
{
    public static void main(String[] args) {
        Cylinder c = new Cylinder(1,1);
        System.out.println(c.toString());
    }
}
